Applications that use image data are found in many different fields, such as security control, television, broadcasting, social media, video telephony, videoconferencing, wireless devices, streaming media applications, remote desktop, cloud computing, and others. Image data may refer to video data, computer generated graphics data, desktop data, or any other type of data depicting a visual perception. Image data may be stored in a variety of medium (DVDs, Blu-Ray disks, mobile devices, memory sticks, hard-drive, etc) and may be transmitted through a variety of medium such as fiber optics, IP connections, USB, satellite, etc.
Image compression and decompression are performed to reduce the consumption of expensive resources, such as storage space or transmission bandwidth. In general, a codec (encoder/decoder) includes an encoder used to convert the source data into a compressed form occupying a reduced space prior to storage or transmission. The codec may also comprise a decoder which receives compressed data and converts it into a decompressed image or stream ready for display or for further processing. The codec may be a software implementation, a hardware implementation, or a combination thereof.
Two types of encoding exist, namely lossy and lossless. A lossy encoding process achieves compression not only by removing truly redundant information from the bit stream but also by making small quality compromises in ways that are intended to be minimally perceptible. In particular, a quantization parameter (QP) regulates how much spatial detail is saved. When QP is very small, almost all of the detail is retained. As QP increases, some of the detail is aggregated so that the bit rate drops, at the expense of some increase in distortion and some loss of quality. The QP may be adapted from a region of a picture to another region according to application-based schemes as Region of Interest (ROI) and/or according to a Variance-based Adaptive quantization scheme (VAQ).
There is a particular type of video streaming where portions of frames are still or motionless, sometimes referred to as “desktop streaming”. Still portions comprise sharper contrasts and more defined edges. Fast moving desktop content needs less visual quality since the eye will barely see the details. Static content needs to be improved in quality as details stand out and are expected to be sharp. There is therefore a need for a compression scheme that can reconcile the opposing requirements of desktop streaming.